package com.nineclock.system.service;

import com.nineclock.attendance.dto.DepartmentOrUserSimpleDTO;
import com.nineclock.system.dto.SysDepartmentDTO;

import java.util.List;

public interface SysDepartmentService {

    List<SysDepartmentDTO> queryDepartmentList();

    /**
     * 查询企业ID下的所有顶级部门ID
     * @return
     */
    List<Long> queryDepartmentIds();

    /**
     * 查询员工及者部门数据列表
     * @param departmentId 部门ID
     * @param includeMember   0 为包含 ; 1 为 不包含
     * @return
     */
    List<DepartmentOrUserSimpleDTO> querySimpleDepartment(Long departmentId, Integer includeMember);

    /**
     * @Author: lenovo
     * @Date: 9:04 2021/7/12
     * @Parms [companyUserId]
     * @ReturnType: java.util.List<java.lang.Long>
     * @Description: 根据员工id获得部门从低到高级别的部门ID数组
    */
    List<Long> queryDepartmentsByUserId(Long companyUserId);
}
